<html>
  <head>
    <title>IServiceManager</title>
    <link rel='stylesheet' type='text/css' href='../../../stylesheet.css' title='Style' />
  </head>
  <body>
    <table border='0' width='100%' cellpadding='1' cellspacing='0' summary=''>
      <tr>
        <td colspan='2' bgcolor='#EEEEFF' class='NavBarCell1'>
          <table border='0' cellpadding='0' cellspacing='3' summary=''>
            <tr align='center' valign='top'>
              <td bgcolor='#EEEEFF' class='NavBarCell1'>
                <a href='../../../overview-summary.html'>
                  <font class='NavBarFont1'>
                    <b>Overview</b>
                  </font>
                </a>&nbsp;
              </td>
              <td bgcolor='#EEEEFF' class='NavBarCell1'>
                <a href='package-summary.html'>
                  <font class='NavBarFont1'>
                    <b>Package</b>
                  </font>
                </a>&nbsp;
              </td>
              <td bgcolor='#FFFFFF' class='NavBarCell1Rev'>
                <font class='NavBarFont1Rev'>
                  <b>Unit</b>
                </font>&nbsp;
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
    <hr />
    <h2>
      <font size='-1'>OpenEdge\CommonInfrastructure\Common</font>
      <br />INTERFACE IServiceManager
    </h2>
    <p>INTERFACE OpenEdge.CommonInfrastructure.Common.IServiceManager </p>
    <dl>
      <dd>
        <dl><!-- --></dl>
      </dd>
    </dl>
    <hr />
				<A NAME="property_summary"><!-- --></A>
				<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
				<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
				<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
				<B>Property Summary</B></FONT></TH>
				</TR>
				
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/Core/InjectABL/IKernel.cls.html" title="OpenEdge.Core.InjectABL.IKernel" target="classFrame">IKernel</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#property.Kernel'>Kernel</a>
          </b> PUBLIC GET 
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(mandatory) Contains the InjectABL kernel that's responsible for mapping
      </td>
    </tr>
				</TABLE>&nbsp;<P>
				
				<A NAME="method_summary"><!-- --></A>
				<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
				<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
				<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
				<B>Method Summary</B></FONT></TH>
				</TR>
				
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code>VOID</code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#createcomponent()'> CreateComponent</a>
          </b>()
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;General creation code; constructors should only be used for property setting,
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code>VOID</code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#destroycomponent()'> DestroyComponent</a>
          </b>()
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;General destruction code that can be called outside of the destructor
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#getservice(progress.lang.class)'> GetService</a>
          </b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an instance of a service, if one exists. May AutoStart
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#getservice(progress.lang.class,character)'> GetService</a>
          </b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService, CHARACTER pcInstanceName)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an instance of a service, if one exists.
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/CommonInfrastructure/Common/ServiceMessage/IServiceProvider.cls.html" title="OpenEdge.CommonInfrastructure.Common.ServiceMessage.IServiceProvider" target="classFrame">IServiceProvider</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#getserviceprovider(character)'> GetServiceProvider</a>
          </b>(CHARACTER pcService)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds (and starts if needed) an IServiceProvider which applies to the service name passed as
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code>VOID</code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#initialize()'> Initialize</a>
          </b>()
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not InitializeComponent, since the Gui for .NET uses that name already,
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#startservice(openedge.commoninfrastructure.common.servicetypeenum,character)'> StartService</a>
          </b>(<a href="../../../OpenEdge/CommonInfrastructure/Common/ServiceTypeEnum.cls.html" title="OpenEdge.CommonInfrastructure.Common.ServiceTypeEnum" target="classFrame">ServiceTypeEnum</a> poServiceType, CHARACTER pcServiceName)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts and returns a running instance of a service
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#startservice(progress.lang.class)'> StartService</a>
          </b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts and returns a service as specified by a type/class. Typically
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code><a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a></code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#startservice(progress.lang.class,character)'> StartService</a>
          </b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService, CHARACTER pcInstanceName)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts and returns a service as specified by a type/class. Typically
      </td>
    </tr>
    <tr bgcolor='white' class='TableRowColor'>
      <td align='right' valign='top' width='1%'>
        <font size='-1'>
          <code>VOID</code>
        </font>
      </td>
      <td>
        <code>
          <b>
            <a href='#stopservice(openedge.commoninfrastructure.common.iservice)'> StopService</a>
          </b>(<a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a> poServiceInstance)
        </code><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stops a running service.
      </td>
    </tr>
				</TABLE>&nbsp;<P>
				
				<A NAME="property_detail"><!-- --></A>
				<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
				<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
				<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
				<B>Property Detail</B></FONT></TH>
				</TR></TABLE>
				
    <a name='property.Kernel'><!-- --></a>
    <h3>Kernel</h3>
    <code><a href="../../../OpenEdge/Core/InjectABL/IKernel.cls.html" title="OpenEdge.Core.InjectABL.IKernel" target="classFrame">IKernel</a> PUBLIC GET </code>
    <dl>
      <dd>(mandatory) Contains the InjectABL kernel that's responsible for mapping <p> </dd>
      <dd>services (in the sense of Interfaces) to concrete instances. </dd>
      <dd>
        <dl><!-- --></dl>
      </dd>
    </dl>
    <hr />
				<A NAME="method_detail"><!-- --></A>
				<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
				<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
				<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
				<B>Method Detail</B></FONT></TH>
				</TR></TABLE>
				
    <a name='createcomponent()'><!-- --></a>
    <h3>CreateComponent</h3>
    <code>PUBLIC  VOID
      <b>CreateComponent</b>()
    </code>
    <dl>
      <dd>General creation code; constructors should only be used for property setting, <p> </dd>
      <dd>not for any more complex wiring. </dd>
      <dd>
        <dl><!-- --></dl>
      </dd>
    </dl>
    <hr />
    <a name='destroycomponent()'><!-- --></a>
    <h3>DestroyComponent</h3>
    <code>PUBLIC  VOID
      <b>DestroyComponent</b>()
    </code>
    <dl>
      <dd>General destruction code that can be called outside of the destructor <p> </dd>
      <dd>if needed (but will also be called from within the dtor). </dd>
      <dd>
        <dl><!-- --></dl>
      </dd>
    </dl>
    <hr />
    <a name='getservice(progress.lang.class)'><!-- --></a>
    <h3>GetService</h3>
    <code>PUBLIC  <a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a>
      <b>GetService</b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService)
    </code>
    <dl>
      <dd>Returns an instance of a service, if one exists. May AutoStart <p> </dd>
      <dd>an instance. </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>poService - The class of the service to start<br/></dd>
          <dt>
            <b>Returns:</b>
          </dt>
          <dd>An IService instance of the requested service</dd>
        </dl>
      </dd>
    </dl>
    <hr />
    <a name='getservice(progress.lang.class,character)'><!-- --></a>
    <h3>GetService</h3>
    <code>PUBLIC  <a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a>
      <b>GetService</b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService, CHARACTER pcInstanceName)
    </code>
    <dl>
      <dd>Returns an instance of a service, if one exists. <p> </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>Class - The class of the service to start<br/>character - An instance name for the service. InjectABL allows usto have mulitple bindings for a single type, specialised by instance name. <br/></dd>
          <dt>
            <b>Returns:</b>
          </dt>
          <dd>IService The running instance of the requested service</dd>
        </dl>
      </dd>
    </dl>
    <hr />
    <a name='getserviceprovider(character)'><!-- --></a>
    <h3>GetServiceProvider</h3>
    <code>PUBLIC  <a href="../../../OpenEdge/CommonInfrastructure/Common/ServiceMessage/IServiceProvider.cls.html" title="OpenEdge.CommonInfrastructure.Common.ServiceMessage.IServiceProvider" target="classFrame">IServiceProvider</a>
      <b>GetServiceProvider</b>(CHARACTER pcService)
    </code>
    <dl>
      <dd>Finds (and starts if needed) an IServiceProvider which applies to the service name passed as <p> </dd>
      <dd>an argument. The client-side service provider is typically a service adapter, which talks across a session boundary to a service interface. That service interface talks to the server-side service provider and asks it to perform a task ("service a request"). The server-side service provider is typically a business component such as a business entity, task or workflow. </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>character - The name of the service for which we need to perform a request.<br/></dd>
          <dt>
            <b>Returns:</b>
          </dt>
          <dd>IServiceProvider An object capable of serviving that request.</dd>
        </dl>
      </dd>
    </dl>
    <hr />
    <a name='initialize()'><!-- --></a>
    <h3>Initialize</h3>
    <code>PUBLIC  VOID
      <b>Initialize</b>()
    </code>
    <dl>
      <dd>Not InitializeComponent, since the Gui for .NET uses that name already, <p> </dd>
      <dd>as a PRIVATE member, and we want to have only 1 IComponent interface. </dd>
      <dd>
        <dl><!-- --></dl>
      </dd>
    </dl>
    <hr />
    <a name='startservice(openedge.commoninfrastructure.common.servicetypeenum,character)'><!-- --></a>
    <h3>StartService</h3>
    <code>PUBLIC  <a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a>
      <b>StartService</b>(<a href="../../../OpenEdge/CommonInfrastructure/Common/ServiceTypeEnum.cls.html" title="OpenEdge.CommonInfrastructure.Common.ServiceTypeEnum" target="classFrame">ServiceTypeEnum</a> poServiceType, CHARACTER pcServiceName)
    </code>
    <dl>
      <dd>Starts and returns a running instance of a service <p> </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>ServiceTypeEnum - The component type; ignored when InjectABL used,since we work off interfaces, which are unique within the application. <br/>character - The name of the service (interface name in InjectABL)<br/></dd>
          <dt>
            <b>Returns:</b>
          </dt>
          <dd>IService An IService instance of the requested service</dd>
        </dl>
      </dd>
    </dl>
    <hr />
    <a name='startservice(progress.lang.class)'><!-- --></a>
    <h3>StartService</h3>
    <code>PUBLIC  <a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a>
      <b>StartService</b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService)
    </code>
    <dl>
      <dd>Starts and returns a service as specified by a type/class. Typically <p> </dd>
      <dd>an interface type name. </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>Class - The class of the service to start<br/></dd>
          <dt>
            <b>Returns:</b>
          </dt>
          <dd>IService The running instance of the requested service</dd>
        </dl>
      </dd>
    </dl>
    <hr />
    <a name='startservice(progress.lang.class,character)'><!-- --></a>
    <h3>StartService</h3>
    <code>PUBLIC  <a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a>
      <b>StartService</b>(<a href="../../../Progress/Lang/Class.cls.html" title="Progress.Lang.Class" target="classFrame">Class</a> poService, CHARACTER pcInstanceName)
    </code>
    <dl>
      <dd>Starts and returns a service as specified by a type/class. Typically <p> </dd>
      <dd>an interface type name. </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>Class - The class of the service to start<br/>character - An instance name for the service. InjectABL allows usto have mulitple bindings for a single type, specialised by instance name. <br/></dd>
          <dt>
            <b>Returns:</b>
          </dt>
          <dd>IService The running instance of the requested service</dd>
        </dl>
      </dd>
    </dl>
    <hr />
    <a name='stopservice(openedge.commoninfrastructure.common.iservice)'><!-- --></a>
    <h3>StopService</h3>
    <code>PUBLIC  VOID
      <b>StopService</b>(<a href="../../../OpenEdge/CommonInfrastructure/Common/IService.cls.html" title="OpenEdge.CommonInfrastructure.Common.IService" target="classFrame">IService</a> poServiceInstance)
    </code>
    <dl>
      <dd>Stops a running service. <p> </dd>
      <dd>
        <dl><!-- -->
          <dt>
            <b>Parameters:</b>
          </dt>
          <dd>poServiceInstance - A running service instance<br/></dd>
        </dl>
      </dd>
    </dl>
    <hr />
  </body>
</html>